#!/usr/bin/python
# -*- coding: utf8 -*-
import xmpp
from plugin import Plugin,get_plugins_by_cmd


"""Commande basique : help"""
class HelpModule(Plugin):
    infos = {'name': 'Aide',
            'author': 'magnetik',
            'version': '0.2',
            'website':'http://blog.magnetik.org',
            'handlers': ['help', 'aide'],
            'cmd': 'help',
            }
    doc=_(u"Commande retourtant la liste de toute les commandes ou l'aide sur une commande en particulier")
            
    def help(self,conn,user,command,args,mess,lang):
        if (len(args) == 0):
            result=[]
            for plugin in Plugin.__subclasses__():
                result.append(plugin.infos['cmd'])
            reply=_(u"Liste des commandes :\n%s \nBesoin d'aide sur une commande en particulier ? Tapez « help LaCommande »" % ", ".join(result))
            conn.send(xmpp.protocol.Message(mess.getFrom(),reply,"chat"))
        else:
            result=get_plugins_by_cmd(args.split(" ")[0])
            for plugin in result:
                doc=plugin.doc
                reply=_(u"Aide sur la commande « %s » : %s" % (args.split(" ")[0], doc))
                conn.send(xmpp.protocol.Message(mess.getFrom(),reply,"chat"))

class VersionModule(Plugin):
    infos = {'name': 'Version',
            'author': 'magnetik',
            'version': '0.2',
            'website':'http://blog.magnetik.org',
            'handlers': ['version'],
            'cmd': 'version',
            }
    doc=_(u"Commande retournant la version de tout les modules utilisés")
    
    def version(self,conn,user,command,args,mess,lang):
        result=""
        for plugin in Plugin.__subclasses__():
            result=result + "- %s (%s) -> %s\n" % (plugin.infos['name'], ", ".join(plugin.infos['handlers']), plugin.infos['version'])
        reply=_(u"Version du loader de plugin : %s\nVersion des autres plugins :\n%s" % (Plugin.version,result))
        conn.send(xmpp.protocol.Message(mess.getFrom(),reply,"chat"))